import axios from 'axios'
import Vue from 'vue';
import { Toast } from 'vant';

Vue.use(Toast);
const instance = axios.create({
    baseURL: 'http://localhost:3000'
})

//不要忘记把拦截器挂载到instance上去
// 添加请求拦截器
instance.interceptors.request.use(function(config) {
    // 在发送请求之前做些什么
    return config;
}, function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});


const stateList = { //接口的状态码列表，需要前后端对应
    '110': 'fail',
    '111': 'success',
    '112': 'fail'
}


//给与用户操作后的页面响应
// 添加响应拦截器
instance.interceptors.response.use(function(response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    let { code, msg } = response.data
    Toast[stateList[code]](msg) //动态的变量要用中括号包起来
        //Message.error('密码错误')
    return response;
}, function(error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default instance